// P2358 write by cn_ryh